3.5 Step 4: Creating an HTML Form

Table 9. HTML Form Fields
Field Name
(Case–Sensitive)
Required
Mandatory
Optional
Type
(max length)
Description
PayServerUser ^ M String This is the technical merchant user ID given for the VPG Admin site.
TransactionCompletedURL ^ O String(256) Response URL forsuccessful transactions.
Overrides existing URL, if value is passed.
See 3.7.3. Merchant Notification POST Fields
Note, this is a synchronous HTTPS POST that happens on Form submit from the clients browser.
In order to guarantee a response from the payment outcome, use the asynchronous TransactionStatusCallbackUrl to guarantee delivery
RedirectURL ^ O String(256) Response URL forunsuccessfultransactions.
Overrides existing URL, if value is passed.
See 3.7.3. Merchant Notification POST Fields
Note, this is a synchronous HTTPS POST that happens on Form submit from the clients browser.
In order to guarantee a response from the payment outcome, use the asynchronous TransactionStatusCallbackUrl to guarantee delivery
TransactionStatusCallbackUrl ^ M String(256) This is the URL to which asynchronous callbacks are sent.
See 3.7.4. Asynchronous Call–back.
Note, in order for this to function, firewall ports must be opened on the Payment Gateway to post–back to your server.
This server–to–server post–back has built in guaranteed delivery and retry queuing until an HTTP 200 response is received from the merchant.
TransactionStatusCallbackFormat O String(4) This is the structure of the format in which the asynchronous callback message is sent as a URL encoded form.
Permitted values (if omitted default is XML):
  • XML
  • JSON
TransactionStatusCallbackMethod O String(4) This is the format in which the asynchronous callback message is sent. Permitted Values (if omitted default is GET):
  • GET
  • POST
encXML O String(4) The encrypted XML Transaction object created in Step 1 and Step 2 must be passed in this field.
(Mandatory if encrypted payload is XML)
encJSON O String(4) The encrypted JSON Transaction object created in Step 1 and Step 2 must be passed in this field.
(Mandatory if encrypted payload is JSON)
encType O String(8) This is encryption algorithm the merchant has elected to use.
Permitted Values (if omitted default value is BLOWFISH):
  • AES
  • BLOWFISH (Recommended)
  • TWOFISH
encSalt O String(32) Random string used by merchant to salt the password used to encrypt the message passed in encXML/encJSON and used by Vodacom to decrypt the message.
Mandatory if encType is TWOFISH or AES
encIV O String(16) Random string used by merchant used as the Initialisation Vector to encrypt the message passed in encXML/encJSON and used by Vodacom to decrypt the message.
Mandatory if encType is TWOFISH or AES.
encIterations O Numeric Number of iterations used to derive the key (along with the salt and stored encryption key) using password-based key derivation functionality (PBKDF2).
Mandatory if encType is TWOFISH or AES.
currency ^ M String(3) Country currency. Supply the 3 character ISO currency code. (ZAR for South African Rands)
TransactionType M String(2) This will indicate the type of transaction requested. Valid values:
  • 01. Auth+Settle
    Does not require any additional processing. Typically used for online goods and services, with no physical merchandise.
    [Postilion will send/receive a 100/110 message to the bank followed immediately by a 220/230]).
  • 02. Authorisation with a delayed Settle
    A form post in which the TransactionType value is set to 02 will authorise/reserve funds from a customer's card.
    The merchant must send an additional instruction using the API SETTLE function (see 3.8 Step 7) to complete the transaction, typically used for the release of physical goods and services.
    [Postilion will send/receive a 100/110 message to the bank and later on request a 220/230].
  • If an Authorisation is successfully processed, and the merchant's business rules determine that a Settle should not take place for some reason (e.g. purchase cannot be fulfilled),
    then the Refund API should be called to release those funds from the customer's credit card (see 3.13 Cancel Pre-Auth API).
MerchantReference M String(20) This is the unique value that is used by the Merchant to identify the transaction on his system.
MerchantIdentifier ^ O String(38) This is the unique identifier that is issued to the merchant by VFS to identify him on the payment platform.
(This parameter is mandatory for Save Card functionality or if the data/airtime recharge service is utilised)
CustomerIdentifier O/td> String(20) A unique value representing the merchant's customer undertaking this payment transaction.
Will be used to identify the customer if they elect to save their credit card details during payment (for future use).
Mandatory if merchant has been enabled for "Save Card."
See 4.7 Appendix G: Payments Page Checkout & Saved Card for further details.
SalesType ^ O String(2) Indicates the type of telco goods being purchased.
(This parameter should only be passed if the merchant intends to invoke the data/airtime recharge service).
Valid Values:
  • 00. None (Default Value)
  • 01. Airtime Recharge (dprecated)
  • 02. Hardware Purchase (dprecated)
  • 03. Data Recharge (dprecated)
ValidationSysTraceAuditNumber
(Deprecated)
O Numeric Unique number returned from the recharge validation service to identify the recharge validation request.
(This parameter should only be passed if the merchant intends to invoke the data/airtime recharge service).
ValidationTransDateTime
(Deprecated)
O Numeric Datetime stamp returned from the recharge validation service to identify the recharge validation request
(This parameter should only be passed if the merchant intends to invoke the data/airtime recharge service).
Amount
(Deprecated)
O Decimal Recharge Amount.
(This parameter should only be passed if the merchant intends to invoke the data/airtime recharge service).
RegisteredMSISDN
(Deprecated)
O Numeric This is the MSISDN number of the customer as registered on the merchant's platform.
(This parameter should only be passed if the merchant intends to invoke the data/airtime recharge service).
RechargeMSISDN
(Deprecated)
O Numeric This is the MSISDN number of the customer as registered on the merchant's platform for recharge purposes
(This parameter should only be passed if the merchant intends to invoke the data/airtime recharge service).
Figure 6. Encoded HTML Form

Continue

Return